package demo.hwjs.hj5;

/*
描述
写出一个程序，接受一个十六进制的数，输出该数值的十进制表示。

数据范围：保证结果在
1≤n≤2^31 −1
输入描述：
输入一个十六进制的数值字符串。

输出描述：
输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1
输入：
0xAA
输出：
170
 */

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {

        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String str;
        while ((str = bf.readLine()) != null) {

            String subStr = str.substring(2);

            // System.out.println(Long.parseLong(subStr, 16));

            int i = subStr.length() - 1;
            int result = 0;
            for (char c : subStr.toCharArray()) {
                if ('0' <= c && c <= '9') {
                    result += (int) (Integer.parseInt(c + "") * Math.pow(16, i));
                } else if ('A' <= c && c <= 'F') {
                    result += (int) ((c - 'A' + 10) * Math.pow(16, i));
                } else if ('a' <= c && c <= 'f') {
                    result += (int) ((c - 'a' + 10) * Math.pow(16, i));
                }
                --i;
            }

            System.out.println(result);
        }
    }
}